package com.ytjj.qmyx.admin.dao;

import com.ytjj.qmyx.admin.model.request.ProductImgRequest;
import com.ytjj.qmyx.admin.model.response.goods.ProductImgResponse;
import com.ytjj.qmyx.mall.model.ProductImg;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProductImgDao {

    List<ProductImg> list(ProductImgRequest productImgRequest);

    ProductImg getProductImgById(Integer id);

    Integer selectSortMax(Integer productId, String type);

    Integer isRecImgFlag(Integer productId);

    Integer updateRecImgFlag(@Param("productId") Integer productId,@Param("recImgFlag") Integer recImgFlag);

    ProductImg selectByProductIdAndImgUrl(@Param("id") Integer id,@Param("img") String img);

    List<ProductImg> getProductImgInfo(@Param("productId") Integer productId,@Param("type") String type);

    List<ProductImg> queryProductImgInfo(@Param("productId") Integer productId);

    Integer delProductImg(Integer id);

    Integer delProductImgs(@Param("list") List<ProductImgResponse> list);

    Integer deleteProductImgsByProductId(Integer productId);

    List<ProductImg> getAllImg(@Param("productId") Integer productId,@Param("type") String type);

    List<ProductImg> getProductImgByIdAndType(@Param("productId") Integer productId, @Param("types") List<String> types);

    List<ProductImg> getProductImgByType(@Param("types") List<String> types);

    List<ProductImg> getProductImgByTypeByProductId(@Param("types") List<String> types, @Param("productId") List<Integer> productId);

    int copyToProductImg(@Param("list") List<ProductImgResponse> list);

    /**
     * 根据商品Id删除图片
     * @param productId:
     * @returns: java.lang.Integer
     * 
     */
    Integer delImgsByPid(Integer productId);

    int insertProductImgBatch(@Param("list") List<ProductImgResponse> list);
    int insertImgBatch(@Param("list") List<ProductImg> list);

}
